Skip to content

Merge dev to main#1146

Open
LasNikas wants to merge 26 commits intomainfrom
dev
Open

Merge dev to main#1146
LasNikas wants to merge 26 commits intomainfrom
dev

Conversation

marcelschurer and others added 3 commits March 19, 2026 10:09
…nitialCondition` (#959)

* Update vtk2trixi function to return `NamedTuple` instead of `InitialCondition`

* Refactor vtk2trixi function to accept custom fields

* Enhance vtk2trixi function to support scalar and vector custom quantities and update tests

* Fix typo in documentation for vtk2trixi function

* Fix capitalization in comments

* Fix formatting in documentation

* Corrected failing doctest output

* Corrected failing doctest output

* add NEWS entry

* revise

* fix doc test

* fix NEWS entry

* fix merge bug

* load `custom_quantities` automatically

* implement suggestions

* fix jldoctest

* Add `create_initial_condition` parameter

---------

Co-authored-by: Niklas Neher <73897120+LasNikas@users.noreply.github.com>
Co-authored-by: Sven Berger <berger.sven@gmail.com>
Co-authored-by: LasNikas <niklas.nehe@web.de>
Co-authored-by: Erik Faulhaber <44124897+efaulhaber@users.noreply.github.com>
@efaulhaber
Copy link
Copy Markdown
Member

I fixed the broken tests in #1142.

@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 20, 2026

Codecov Report

❌ Patch coverage is 84.76190% with 32 lines in your changes missing coverage. Please review.
✅ Project coverage is 68.11%. Comparing base (81711ed) to head (962ba40).

Files with missing lines Patch % Lines
...fluid/weakly_compressible_sph/density_diffusion.jl 20.00% 12 Missing ⚠️
test/io/read_vtk.jl 93.06% 7 Missing ⚠️
.../schemes/boundary/wall_boundary/dummy_particles.jl 87.50% 2 Missing ⚠️
src/schemes/fluid/shifting_techniques.jl 0.00% 2 Missing ⚠️
src/callbacks/solution_saving.jl 0.00% 1 Missing ⚠️
src/general/corrections.jl 50.00% 1 Missing ⚠️
src/general/time_integration.jl 0.00% 1 Missing ⚠️
src/io/read_vtk.jl 96.29% 1 Missing ⚠️
src/preprocessing/geometries/io.jl 0.00% 1 Missing ⚠️
.../preprocessing/particle_packing/signed_distance.jl 0.00% 1 Missing ⚠️
... and 3 more

❗ There is a different number of reports uploaded between BASE (81711ed) and HEAD (962ba40). Click for more details.

HEAD has 1 upload less than BASE
Flag BASE (81711ed) HEAD (962ba40)
total 1 0
Additional details and impacted files
@@             Coverage Diff             @@
##             main    #1146       +/-   ##
===========================================
- Coverage   88.97%   68.11%   -20.87%     
===========================================
  Files         129      128        -1     
  Lines        9980    10019       +39     
===========================================
- Hits         8880     6824     -2056     
- Misses       1100     3195     +2095     
Flag Coverage Δ
total ?
unit 68.11% <84.76%> (+0.45%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

LasNikas and others added 5 commits April 20, 2026 15:56
* add automatic reordering

* fix typo

* revise docs

* indentation

* add tests

* add vector variant

* force unique indices

* add depwarning

* drop `n_particles_clamped`

* fix regex

* rm regex

* fix again

* implement suggestions

* apply formatter

* fix examples

* fix

* implement suggestions

* rm datatype restriction

* implement suggestions

* adapt example files

* fix merge conflict

* fix again

* fix unit tests

* fix tests

* fix tests

* add docs

* remove unnecessary info

---------

Co-authored-by: LasNikas <niklas.nehe@web.de>
@efaulhaber efaulhaber added this to the 0.5 milestone Apr 23, 2026
efaulhaber and others added 6 commits April 28, 2026 11:54
* Make pressure clipping in `BoundaryModelDummyParticles` optional

* Reformat

* Disable pressure clipping by default

* Add NEWS.md entry

* Make free surface examples use boundary pressure clipping

* Fix tests

* Fix smoothing length in example tests

* Fix

* Fix

* Update docstring

* Update docstrings

* Unify example tests

* Reformat
* Switch to sub-packages of OrdinaryDiffEq.jl

* Update NEWS.md

* Fix

* Fix allocations?

* Fix imported packages in IISPH examples

* Fix typo

* Simplify tests

* Fix remaining allocations

* Unify example tests

* Revert "Unify example tests"

This reverts commit 9af09e6.

* Add comments

* Fix NEWS.md

* Update installation instructions

* Fix missing NEWS entry
* Refactor SPH system initialization to use keyword arguments

- Updated the initialization of `WeaklyCompressibleSPHSystem` and `EntropicallyDampedSPHSystem` across multiple examples to utilize keyword arguments for better readability and maintainability.
- Adjusted the documentation for both systems to reflect the new argument structure.
- Ensured consistency in the usage of density calculators and state equations in the examples.
- Modified tests to validate the new keyword argument structure for both SPH systems.

* fix test

* Update docs/literate/src/tut_setup.jl

Co-authored-by: Erik Faulhaber <44124897+efaulhaber@users.noreply.github.com>

* remove unneeded named arguments

* more fixes

* Refactor constructors to use keyword arguments for DEM and SPH systems

* Refactor constructors in DEM, SPH, and TotalLagrangian systems to use keyword arguments for improved clarity and consistency

* fix tests

* better fix for included parameters

* another pass to reduce unreqed named args

* even more unreq named keyword use

* format

* typo

* fix tests

* fix tests

* fix tests

* fix tests

* format

* format

* fix

* format

* Apply suggestion from @efaulhaber

Co-authored-by: Erik Faulhaber <44124897+efaulhaber@users.noreply.github.com>

* Update examples/fluid/dam_break_oil_film_2d.jl

Co-authored-by: Erik Faulhaber <44124897+efaulhaber@users.noreply.github.com>

* Update examples/fluid/falling_water_spheres_2d.jl

Co-authored-by: Erik Faulhaber <44124897+efaulhaber@users.noreply.github.com>

* Update examples/fluid/falling_water_spheres_2d.jl

Co-authored-by: Erik Faulhaber <44124897+efaulhaber@users.noreply.github.com>

* Update test/systems/tlsph_system.jl

Co-authored-by: Erik Faulhaber <44124897+efaulhaber@users.noreply.github.com>

* Update test/systems/tlsph_system.jl

Co-authored-by: Erik Faulhaber <44124897+efaulhaber@users.noreply.github.com>

* Update test/systems/edac_system.jl

Co-authored-by: Erik Faulhaber <44124897+efaulhaber@users.noreply.github.com>

* Update test/schemes/structure/total_lagrangian_sph/rhs.jl

Co-authored-by: Erik Faulhaber <44124897+efaulhaber@users.noreply.github.com>

* Update examples/fluid/poiseuille_flow_3d.jl

Co-authored-by: Erik Faulhaber <44124897+efaulhaber@users.noreply.github.com>

* Update examples/fsi/dam_break_gate_2d.jl

Co-authored-by: Erik Faulhaber <44124897+efaulhaber@users.noreply.github.com>

* Update examples/fsi/dam_break_plate_2d.jl

Co-authored-by: Erik Faulhaber <44124897+efaulhaber@users.noreply.github.com>

* Update examples/fsi/hydrostatic_water_column_2d.jl

Co-authored-by: Erik Faulhaber <44124897+efaulhaber@users.noreply.github.com>

* Update examples/structure/oscillating_beam_2d.jl

Co-authored-by: Erik Faulhaber <44124897+efaulhaber@users.noreply.github.com>

* Update src/schemes/boundary/dem_boundary/system.jl

Co-authored-by: Erik Faulhaber <44124897+efaulhaber@users.noreply.github.com>

* Update src/schemes/fluid/entropically_damped_sph/system.jl

Co-authored-by: Erik Faulhaber <44124897+efaulhaber@users.noreply.github.com>

* Update src/schemes/fluid/implicit_incompressible_sph/system.jl

Co-authored-by: Erik Faulhaber <44124897+efaulhaber@users.noreply.github.com>

* Update src/schemes/fluid/weakly_compressible_sph/system.jl

Co-authored-by: Erik Faulhaber <44124897+efaulhaber@users.noreply.github.com>

* Update src/schemes/structure/discrete_element_method/system.jl

Co-authored-by: Erik Faulhaber <44124897+efaulhaber@users.noreply.github.com>

* Update test/general/custom_quantities.jl

Co-authored-by: Erik Faulhaber <44124897+efaulhaber@users.noreply.github.com>

* Update test/general/interpolation.jl

Co-authored-by: Erik Faulhaber <44124897+efaulhaber@users.noreply.github.com>

* Update test/general/interpolation.jl

Co-authored-by: Erik Faulhaber <44124897+efaulhaber@users.noreply.github.com>

* Update test/schemes/boundary/dummy_particles/rhs.jl

Co-authored-by: Erik Faulhaber <44124897+efaulhaber@users.noreply.github.com>

* Update test/schemes/fluid/rhs.jl

Co-authored-by: Erik Faulhaber <44124897+efaulhaber@users.noreply.github.com>

* Update test/schemes/boundary/dummy_particles/dummy_particles.jl

Co-authored-by: Erik Faulhaber <44124897+efaulhaber@users.noreply.github.com>

* Update test/schemes/boundary/dummy_particles/dummy_particles.jl

Co-authored-by: Erik Faulhaber <44124897+efaulhaber@users.noreply.github.com>

* fix doc strings

* review

* format

* fix test

* fix NEWS.md

* add news section

* Update src/schemes/fluid/implicit_incompressible_sph/system.jl

Co-authored-by: Erik Faulhaber <44124897+efaulhaber@users.noreply.github.com>

* review comments

Co-authored-by: Copilot <copilot@github.com>

* Update NEWS.md

Co-authored-by: Erik Faulhaber <44124897+efaulhaber@users.noreply.github.com>

* Update NEWS.md

Co-authored-by: Erik Faulhaber <44124897+efaulhaber@users.noreply.github.com>

---------

Co-authored-by: Erik Faulhaber <44124897+efaulhaber@users.noreply.github.com>
Co-authored-by: Copilot <copilot@github.com>
* Update NEWS.md and prepare release

* Fix typo
@efaulhaber
Copy link
Copy Markdown
Member

/run-gpu-tests

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Merge of several development PRs into main, primarily delivering the v0.5 API updates (keyword-based constructors, updated OrdinaryDiffEq usage, boundary pressure clipping option) plus corresponding updates across examples, validations, docs, and tests.

Changes:

  • Refactor public system constructors to keyword arguments and update examples/validations/tests accordingly.
  • Switch example/test solver imports to OrdinaryDiffEq sub-packages (e.g., OrdinaryDiffEqLowStorageRK, OrdinaryDiffEqSymplecticRK).
  • Update boundary dummy-particle pressure clipping behavior (optional), adjust density diffusion API/cache handling, and revise vtk2trixi to return a NamedTuple.

Reviewed changes

Copilot reviewed 122 out of 123 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
validation/taylor_green_vortex_2d/validation_taylor_green_vortex_2d.jl Update callback/include kwarg style
validation/oscillating_beam_2d/validation_oscillating_beam_2d.jl Use LowStorageRK + kwarg include
validation/oscillating_beam_2d/plot_oscillating_beam_results.jl Minor keyword-call cleanup
validation/lid_driven_cavity_2d/validation_lid_driven_cavity_2d.jl Keyword constructor/include cleanup
validation/hydrostatic_water_column_2d/validation.jl Use LowStorageRK + kwarg include
validation/dam_break_2d/validation_dam_break_2d.jl kwarg include + doc comment
validation/dam_break_2d/setup_marrone_2011.jl kwarg-based constructors/includes
test/validation/validation.jl Remove deprecated-warning expectations
test/test_util.jl Load SymplecticRK for extension tests
test/systems/wcsph_system.jl Update constructor calls to kwargs
test/systems/tlsph_system.jl Update TLSPH ctor args to kwargs
test/systems/iisph_system.jl Update IISPH ctor calls to kwargs
test/systems/edac_system.jl Update EDAC ctor calls to kwargs
test/systems/dem_system.jl Update DEM ctor signature usage
test/setups/rectangular_shape.jl Update RectangularShape call style
test/schemes/structure/total_lagrangian_sph/rhs.jl Update TLSPH ctor call style
test/schemes/fluid/weakly_compressible_sph/state_equation.jl Keyword call normalization
test/schemes/fluid/weakly_compressible_sph/density_diffusion.jl Update Antuono API test
test/schemes/fluid/viscosity.jl Update viscosity/model ctor calls
test/schemes/fluid/surface_tension.jl Update WCSPH ctor call style
test/schemes/fluid/surface_normal_sph.jl Update boundary/fluid ctor calls
test/schemes/fluid/rhs.jl Update ctor calls + patch helper kwargs
test/schemes/boundary/open_boundary/pressure_model.jl Comment-only kwarg style tweak
test/schemes/boundary/open_boundary/open_boundary.jl Update EDAC ctor + BoundaryZone kwargs
test/schemes/boundary/open_boundary/mirroring.jl Update EDAC/WCSPH ctor calls
test/schemes/boundary/open_boundary/dynamical_pressure.jl Update ctor calls + patch helper kwargs
test/schemes/boundary/open_boundary/characteristic_variables.jl Update ctor calls to kwargs
test/schemes/boundary/monaghan_kajtar/monaghan_kajtar.jl Update ctor calls to kwargs
test/schemes/boundary/dummy_particles/rhs.jl Update ctor calls + patch helper kwargs
test/schemes/boundary/dummy_particles/dummy_particles.jl Add pressure-clipping tests + kwarg updates
test/rectangular_patch.jl RectangularShape kwarg call style
test/general/semidiscretization.jl Update system ctors to kwargs
test/general/interpolation.jl Keyword-call normalization
test/general/initial_condition.jl Keyword-call normalization
test/general/density_calculator.jl Update ctor calls to kwargs
test/general/custom_quantities.jl Update EDAC ctor to kwargs
test/examples/gpu.jl Update includes/ctrs + open-boundary model args
test/examples/examples_fluid.jl Update ctor/include patterns + surface tension passing
test/examples/examples.jl Remove deprecated-warning expectations
test/examples/dam_break_2d_corrections.jl Keyword include normalization
test/count_allocations.jl Keyword-call normalization
test/callbacks/solution_saving.jl Use temp output directory in tests
test/Project.toml Swap OrdinaryDiffEq for sub-packages
src/setups/rectangular_tank.jl Keyword-call example in docs snippet
src/setups/rectangular_shape.jl Use keyword args in examples/helpers
src/setups/extrude_geometry.jl Keyword-call normalization
src/setups/complex_shape.jl NamedTuple shorthand cleanup
src/schemes/structure/total_lagrangian_sph/system.jl Keyword-based ctor + clamp API cleanup
src/schemes/structure/discrete_element_method/system.jl DEM ctor now keyword-based for contact_model
src/schemes/fluid/weakly_compressible_sph/system.jl Keyword-based ctor + density diffusion cache
src/schemes/fluid/weakly_compressible_sph/state_equations.jl Clarify clipping doc semantics
src/schemes/fluid/weakly_compressible_sph/density_diffusion.jl Antuono API + cache moved to system.cache
src/schemes/fluid/shifting_techniques.jl Use permutedims for transpose perf
src/schemes/fluid/pressure_acceleration.jl Add formula comments
src/schemes/fluid/implicit_incompressible_sph/system.jl Keyword-based ctor + doc update
src/schemes/fluid/entropically_damped_sph/system.jl Keyword-based ctor + doc update
src/schemes/boundary/wall_boundary/dummy_particles.jl Add optional pressure clipping + Adapt-friendly layout
src/schemes/boundary/open_boundary/system.jl Cache/build updates for new density diffusion
src/schemes/boundary/dem_boundary/system.jl Boundary DEM ctor keyword-based + docs
src/preprocessing/particle_packing/signed_distance.jl Keyword-call normalization
src/preprocessing/geometries/io.jl Keyword-call normalization
src/io/write_vtk.jl Keyword-call normalization for VTK writing
src/io/read_vtk.jl vtk2trixi now returns NamedTuple + custom quantities
src/general/time_integration.jl Update extension error message/package name
src/general/semidiscretization.jl Keyword-call normalization + doc tweak
src/general/interpolation.jl Keyword-call normalization + NamedTuple shorthand
src/general/corrections.jl Use permutedims for transpose perf
src/callbacks/split_integration.jl Docs: use LowStorageRK import
src/callbacks/solution_saving.jl Keyword-call normalization
src/callbacks/info.jl Keyword-call normalization
examples/structure/oscillating_beam_2d.jl LowStorageRK + keyword-based ctors/callbacks
examples/structure/colliding_rigid_spheres_2d.jl LowStorageRK + kwarg RigidBodySystem
examples/preprocessing/packing_3d.jl LowStorageRK + kwarg include
examples/preprocessing/packing_2d.jl LowStorageRK + kwarg style cleanup
examples/n_body/n_body_solar_system.jl Use SymplecticRK import
examples/fsi/hydrostatic_water_column_2d.jl LowStorageRK + clamp indices API
examples/fsi/falling_water_column_2d.jl LowStorageRK + kwarg includes/ctors
examples/fsi/falling_spheres_2d.jl LowStorageRK + boundary clipping option
examples/fsi/falling_rotating_rigid_squares_w_buoys_2d.jl LowStorageRK + kwarg include
examples/fsi/falling_rotating_rigid_squares_2d.jl LowStorageRK + boundary clipping option
examples/fsi/falling_rigid_spheres_2d.jl LowStorageRK + kwarg rigid bodies
examples/fsi/dam_break_plate_2d.jl LowStorageRK + boundary clipping option
examples/fsi/dam_break_gate_2d.jl LowStorageRK + boundary clipping option
examples/fluid/taylor_green_vortex_2d.jl LowStorageRK + keyword-based systems
examples/fluid/sphere_surface_tension_wall_2d.jl LowStorageRK + keyword include/ctors
examples/fluid/sphere_surface_tension_3d.jl LowStorageRK + kwarg include
examples/fluid/sphere_surface_tension_2d.jl LowStorageRK + ctor kwarg updates
examples/fluid/pulsative_channel_flow_3d.jl kwarg include normalization
examples/fluid/poiseuille_flow_3d.jl LowStorageRK + keyword-based systems
examples/fluid/poiseuille_flow_2d.jl LowStorageRK + keyword-based systems
examples/fluid/pipe_flow_3d.jl kwarg include normalization
examples/fluid/pipe_flow_2d.jl LowStorageRK + keyword-based systems
examples/fluid/periodic_channel_2d.jl LowStorageRK + boundary model kwargs
examples/fluid/periodic_array_of_cylinders_2d.jl Antuono API + keyword-based ctors
examples/fluid/oscillating_drop_2d.jl LowStorageRK + Antuono API
examples/fluid/moving_wall_2d.jl LowStorageRK + boundary ctor kwargs
examples/fluid/lid_driven_cavity_2d.jl LowStorageRK + keyword-based systems
examples/fluid/hydrostatic_water_column_2d.jl LowStorageRK + keyword-based systems
examples/fluid/falling_water_spheres_3d.jl kwarg include normalization
examples/fluid/falling_water_spheres_2d.jl LowStorageRK + boundary clipping option
examples/fluid/falling_water_column_2d.jl LowStorageRK + boundary clipping option
examples/fluid/dam_break_oil_film_2d.jl LowStorageRK + keyword-based systems
examples/fluid/dam_break_3d.jl LowStorageRK + boundary clipping option
examples/fluid/dam_break_2phase_2d.jl LowStorageRK + keyword-based systems
examples/fluid/dam_break_2d_iisph_pressure_boundaries.jl SymplecticRK + IISPH keyword ctor
examples/fluid/dam_break_2d_iisph.jl SymplecticRK + IISPH keyword ctor
examples/fluid/dam_break_2d_gpu.jl kwarg include normalization
examples/fluid/dam_break_2d.jl LowStorageRK + boundary clipping option
examples/fluid/accelerated_tank_2d.jl kwarg include normalization
examples/dem/rectangular_tank_2d.jl DEM keyword ctors + LowStorageRK
examples/dem/collapsing_sand_pile_3d.jl DEM keyword ctors + LowStorageRK
docs/src/time_integration.md Document sub-package solver usage
docs/src/install.md Install instructions for sub-packages
docs/literate/src/tut_setup.jl Tutorial updated for sub-packages/kwargs
docs/literate/src/tut_rigid_body_fsi.jl Tutorial updated for sub-packages/kwargs
docs/literate/src/tut_packing.jl Tutorial updated for LowStorageRK + kwargs
docs/literate/src/tut_custom_kernel.jl Tutorial updated for LowStorageRK + kwargs
docs/Project.toml Docs deps switched to sub-package
README.md Install instructions updated
Project.toml Bump version to 0.5
NEWS.md Add v0.5 changelog + migration guide
Comments suppressed due to low confidence (1)

test/systems/iisph_system.jl:133

  • This test block intends to validate the time_step positivity check, but it still passes invalid min_iterations/max_iterations and asserts error_str6 instead of error_str7. As written, it won’t exercise the time_step validation at all. Use valid iteration bounds here and assert against error_str7 (and consider fixing the string to include the closing backtick around time_step).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/io/read_vtk.jl
Comment thread src/io/read_vtk.jl
Comment thread src/io/read_vtk.jl
Comment thread NEWS.md Outdated
efaulhaber and others added 2 commits April 28, 2026 15:35
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@efaulhaber efaulhaber added the breaking changes This change will break the public API and requires a new major release label Apr 28, 2026
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 122 out of 123 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread test/systems/iisph_system.jl
@efaulhaber efaulhaber enabled auto-merge April 28, 2026 13:46
@efaulhaber
Copy link
Copy Markdown
Member

/run-gpu-tests

@efaulhaber
Copy link
Copy Markdown
Member

/run-gpu-tests

@svchb
Copy link
Copy Markdown
Collaborator

svchb commented Apr 28, 2026

/run-gpu-tests

@svchb
Copy link
Copy Markdown
Collaborator

svchb commented Apr 28, 2026

/run-gpu-tests

@svchb
Copy link
Copy Markdown
Collaborator

svchb commented Apr 28, 2026

/run-gpu-tests

@svchb
Copy link
Copy Markdown
Collaborator

svchb commented Apr 28, 2026

/run-gpu-tests

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking changes This change will break the public API and requires a new major release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants